package com.medusa.aps.business.modules.basic.mp.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.medusa.aps.business.model.pagination.Page;
import com.medusa.aps.business.modules.basic.model.input.SupplierDTO;
import com.medusa.aps.business.modules.basic.model.input.SupplierParam;
import com.medusa.aps.business.modules.basic.model.output.SupplierVO;
import com.medusa.aps.business.modules.basic.mp.entity.Supplier;

import java.util.List;

/**
 * 供应商服务接口
 *
 * @author yuxh
 * @since 2023-08-14 17:37:50
 */
public interface SupplierService extends IService<Supplier> {

    /**
     * 保存供应商
     *
     * @param supplierDTO 供应商
     */
    void saveSupplier(SupplierDTO supplierDTO);

    /**
     * 更新供应商
     *
     * @param supplier 供应商
     */
    void updateSupplier(SupplierDTO supplier);

    /**
     * 分页查询所有数据
     *
     * @param supplierParam 分页参数
     * @return 所有数据
     */
    Page<Supplier> pageSupplier(SupplierParam supplierParam);

    /**
     * 查询供应商详情
     *
     * @param id 供应商id
     * @return 供应商详情
     */
    SupplierVO getSupplierDetail(Long id);

    /**
     * 删除数据供应商物料
     *
     * @param supplierIds 供应商id集合
     * @param materialId  物料id
     */
    void deleteSupplier(List<Long> supplierIds, Long materialId);
}

